<?php

/**
 * registrar_habitacion actions.
 *
 * @package    PhpProject1
 * @subpackage registrar_habitacion
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class registrar_habitacionActions extends sfActions {

    /**
     * Executes index action
     *
     * @param sfRequest $request A request object
     */
    public function executeIndex(sfWebRequest $request) {
        $id = $request->getParameter("id");
        $inputDesde = $request->getParameter("inputDesde");
        $inputHasta = $request->getParameter("inputHasta");

        $this->inputDesde = $inputDesde;
        $this->inputHasta = $inputHasta;

        $object = Doctrine_Core::getTable("DecHabitacion")->find($id);
        $decHabitacion = new DecHabitacion();
        $decHabitacion = (object) $object;
        $this->decHabitacion = $decHabitacion;

        $decEdificio = new DecEdificio();
        $decEdificio = (object) $decHabitacion->getDecEdificio();
        $this->decEdificio = $decEdificio;

        $decHabitacionTipo = new DecHabitacionTipo();
        $decHabitacionTipo = (object) $decHabitacion->getDecHabitacionTipo();
        $this->decHabitacionTipo = $decHabitacionTipo;
    }

    public function executeGetClientes(sfWebRequest $request) {
        $term = $request->getParameter("term");

        $decPersonaTable = Doctrine_Query::create()
                ->select()
                ->from("DecPersona per")
                ->where("per.per_nombre_completo LIKE ?", "%$term%")
                ->andWhere("per.per_es_cliente = ?", 1)
                ->limit(10)
                ->execute();

        $array = array();

        foreach ($decPersonaTable as $object) {
            $decPersona = new DecPersona();
            $decPersona = (object) $object;

            $decCredenciales = new DecCredenciales();
            $decCredenciales = (object) $decPersona->getDecCredenciales();

            $val = $decPersona->getPerNombreCompleto() . " [" . $decCredenciales->getCreUsuario() . "]";

            $inner_array = array(
                "label" => $val,
                "value" => $$val,
                "id" => $decPersona->getPerId(),
            );

            array_push($array, $inner_array);
        }

        $json_encode = json_encode($array);
        $this->getResponse()->setContent($json_encode);
        return sfView::NONE;
    }

    public function executeSave(sfWebRequest $request) {
        $inputFechaInicio = $request->getParameter("inputFechaInicio");
        $inputFechaFin = $request->getParameter("inputFechaFin");
        $habitacionId = $request->getParameter("habitacionId");
        $clienteId = $request->getParameter("clienteId");
        $inputAdultos = $request->getParameter("inputAdultos");
        $inputNinos = $request->getParameter("inputNinos");

        $decReservacion = new DecReservacion();
        $decReservacion->setResPersonaId($clienteId);
        $decReservacion->setResFechaEntrada($inputFechaInicio);
        $decReservacion->setResFechaSalida($inputFechaFin);
        $decReservacion->setResNumeroAdultos($inputAdultos);
        $decReservacion->setResNumeroNinos($inputNinos);
        $decReservacion->setResEstado("RESERVADO");
        $decReservacion->save();

        $decReservacionHabitacion = new DecReservacionHabitacion();
        $decReservacionHabitacion->setRebHabitacionId($habitacionId);
        $decReservacionHabitacion->setRebReservacionId($decReservacion->getResId());
        $decReservacionHabitacion->save();

        $decFactura = new DecFactura();
        $decFactura->setFacId();
        $decFactura->setFacReservacionId($decReservacion->getResId());
        $decFactura->setFacFecha(date("Y-m-d"));
        $decFactura->save();

        return sfView::NONE;
    }

}
